package updater

import (
	"fmt"
	"os"
	"time"
)

func main() {
	if len(os.Args) < 3 {
		fmt.Println("用法: updater <旧文件路径> <新文件路径>")
		return
	}

	oldPath := os.Args[1]
	newPath := os.Args[2]

	// 等待旧程序退出
	timeout := time.Now().Add(30 * time.Second)
	for {
		err := os.Rename(newPath, oldPath)
		if err == nil {
			fmt.Println("更新成功！")
			break
		}

		if time.Now().After(timeout) {
			fmt.Println("更新失败，旧文件一直被占用")
			break
		}

		time.Sleep(1 * time.Second)
	}

	// 可选：重新启动程序
	// exec.Command(oldPath).Start() // 注意路径和依赖
}
